nanopyx

Actively being developed with stable releases
Nanoscopy Python library (NanoPyx, the successor to NanoJ) - focused on light microscopy and super-resolution imaging
What is the NanoPyx π¬ Library?
NanoPyx is a library specialized in the analysis of light microscopy and super-resolution data. It is a successor to NanoJ, which is a Java library for the analysis of super-resolution microscopy data.
NanoPyx focuses on performance, by heavily exploiting cython aided multiprocessing and simplicity. It implements methods for the bioimage analysis field, with a special emphasis on those developed by the Henriques Laboratory. It will be distributed as a Python Library and also as Codeless Jupyter Notebooks, that can be run locally or on Google Colab, and as a napari plugin.
You can read more about NanoPyx in our preprint.
Currently it implements the following approaches:
- A reimplementation of the NanoJ image registration, SRRF and Super Resolution metrics
- More to come soonβ’
if you found this work useful, please cite: preprint and
Short Video Tutorials
| What is NanoPyx? | How to use NanoPyx in Google Colab? |
|---|---|
![]() |
![]() |
Codeless jupyter notebooks available:
napari plugin
NanoPyx is also available as a napari plugin, which can be installed via pip:
pip install napari-nanopyx
Installation
NanoPyx is compatible and tested with Python 3.9, 3.10, 3.11 in MacOS, Windows and Linux. Installation time depends on your hardware and internet connection, but should take around 5 minutes.
You can install NanoPyx via [pip]:
pip install nanopyx
If you want to install with support for Jupyter notebooks:
pip install nanopyx[jupyter]
or if you want to install with all optional dependencies:
pip install nanopyx[all]
To install latest development version:
pip install git+https://github.com/HenriquesLab/NanoPyx.git
Notes for Mac users
If you wish to compile the NanoPyx library from source, you will need to install the following dependencies:
- Homebrew from https://brew.sh/
- gcc, llvm and libomp from Homebrew through the command:
brew install gcc llvm libomp
Run in jupyterlab within a docker container
docker run --name nanopyx1 -p 8888:8888 henriqueslab/nanopyx:latest
Usage
Depending on your preferences and coding proficiency you might be using NanoPyx differently.
- If you are using Jupyter Notebooks or Google Colab notebooks check out our video tutorial
- If you are using our napari plugin check out the official napari tutorial and stay tuned for more!
- If you prefer to use the Python library and take full advantage of the Liquid Engine flexibility, check out our Liquid Engine templates and our official documentation.
Contributing
Contributions are very welcome. Please read our Contribution Guidelines to know how to proceed.
License
Distributed under the terms of the [CC-By v4.0] license, "NanoPyx" is free and open source software
Issues
If you encounter any problems, please [file an issue] along with a detailed description.
Development at a glance
/ Structure
1""" 2.. include:: ../../README.md 3""" 4 5import os 6 7from . import _version, core, data, methods, liquid # noqa: F401 8 9__version__ = _version.get_versions()["version"] 10 11# Get the user's home folder 12__home_folder__ = os.path.expanduser("~") 13__config_folder__ = os.path.join(__home_folder__, ".nanopyx") 14if not os.path.exists(__config_folder__): 15 os.makedirs(__config_folder__) 16 17from .__agent__ import Agent # noqa: E402 18 19 20# TODO: allow benchmarking of only specific implementations 21# ?: provide user interface to enable/disable run types? 22# TODO: provide parallelized batch processing

